package com.saturday.web.annotaion;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

@Target(value = {ElementType.METHOD})
@Retention(value = RetentionPolicy.RUNTIME)
public @interface Decryption {

    /*是否需要解密的类型为基础类型*/
    boolean baseType() default true;

    /*基础类型的参数下标值*/
    int[] paramIndex() default {0};

    /*多个VO参数存在时，指定VO参数下标值*/
    int voIndex() default 0;

    /*如果为非基础类型 baseType = false，则表示为VO类型哪个字段需要进行解密*/
    String[] filedNames() default {};

    /*如果未能获取到用户信息，是否进行接口调用,true：直接参数调用，false：抛出异常*/
    boolean noSessionParam() default false;

}
